package org.zcl.内部类.匿名内部类;

/**
 * @Package org.zcl.内部类.匿名内部类
 * @PROJECT_NAME: question
 * @DESCRIPTION:
 * @USER: zhuchenglin
 * @DATE: 2022/1/6 15:50
 */
public class DemoMain {
    public static void main(String[] args) {

        //使用匿名内部类，但不匿名对象，对象名称就叫obj
        MyInterface objA = new MyInterface() {
            @Override
            public void method1() {
                System.out.println("匿名内部类实现了方法1-A");
            }
            @Override
            public void method2() {
                System.out.println("匿名内部类实现了方法2-A");
            }
        };
        objA.method1();
        objA.method2();

        System.out.println("----------我是分割线----------");

        //使用匿名内部类，而且省略了对象名称，也是匿名对象
        new MyInterface() {
            @Override
            public void method1() {
                System.out.println("匿名内部类实现了方法1-B");
            }
            @Override
            public void method2() {
                System.out.println("匿名内部类实现了方法2-B");
            }
        }.method1();
    }
}